package cloudInformation.mapper;


import cloudEntity.entity.SmartUserClassEntity;
import cloudEntity.leftJoin.ClassPersonLeftJoin;
import cloudEntity.vo.user.SmartUserClassVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 智慧校园班级表(SmartUserClass)表数据库访问层
 *
 * @author makejava
 * @since 2025-04-14 07:54:25
 */
@Mapper
public interface SmartUserClassMapper{

    /**
     * 查询 班级 人数
     * @return 返回 人数
     */
    Integer GetClassCount();


    /**
     * 分页查询 班级 包括 模糊查询
     * @param className 班级名字
     * @param pageNum 页码
     * @param pageSize 一页大小
     * @return 返回 分页 数据
     */
    List<SmartUserClassVO> GetClassReturnPage(@Param("className") String className,
                                              @Param("pageNum") Integer pageNum,
                                              @Param("pageSize") Integer pageSize);

    /**
     * 查询这个班级有多少人
     * @param personName 人名 可模糊查询
     * @param classId 班级 id
     * @return 返回 班级的 人数
     */
    Integer GetClassPersonCount(@Param("personName") String personName,
                                @Param("classId") Integer classId);


    /**
     * 分页 查询班级 有哪些人
     * @param personName 模糊查询人名
     * @param classId 班级 Id
     * @param pageNum 页码
     * @param pageSize 一页的大小
     * @return 返回翻页的数据
     */
    List<ClassPersonLeftJoin> GetCLassPersonReturnPage(@Param("personName") String personName,
                                                       @Param("classId") Integer classId,
                                                       @Param("pageNum") Integer pageNum,
                                                       @Param("pageSize") Integer pageSize);
}

